class ComprobantesPagoController < ApplicationController
	layout 'archivos'
  # GET /comprobantes_pago
  # GET /comprobantes_pago.xml
  def index
    #@comprobantes_pago = ComprobantePago.find(:all,:order=>['nro_serie'])
    @archivo = Archivo.find(params[:archivo_id])

    respond_to do |format|
      format.html # index.rhtml
      format.xml  { render :xml => @archivo.comprobantes_pago.to_xml }
      format.pdf  {       	
  		send_data @archivo.to_pdf('liquidacion'), :filename =>'liquidacion.pdf', :type => 'application/pdf', :disposition => 'inline'       
      }
    end
  end

  # GET /comprobantes_pago/1
  # GET /comprobantes_pago/1.xml
  def show
    @comprobante_pago = ComprobantePago.find(params[:id])

    respond_to do |format|
      format.html # show.rhtml
      format.xml  { render :xml => @comprobante_pago.to_xml }
    end
  end

  # GET /comprobantes_pago/new
  def new  	
    @comprobante_pago = ComprobantePago.new(:archivo_id => params[:archivo_id], :base => 0.00, :igv => 0.00, :otros => 0.00, :total => 0.00)
  end

  # GET /comprobantes_pago/1;edit
  def edit
    @comprobante_pago = ComprobantePago.find(params[:id])
  end

  # POST /comprobantes_pago
  # POST /comprobantes_pago.xml
  def create
    @comprobante_pago = ComprobantePago.new(params[:comprobante_pago])
    @comprobante_pago.archivo_id = params[:archivo_id]        
    reserva = @comprobante_pago.reserva
    
    if reserva!=nil
    	proveedor = reserva.proveedor
    	@comprobante_pago.ruc = proveedor.ruc
    	@comprobante_pago.proveedor = (proveedor.razon_social!='' ? proveedor.razon_social : proveedor.nombre)
  		reserva.seguimientos_caja << SeguimientoCaja.new(:fecha=>Date.today, :estado_caja_id => 4)
  	end      	
  	
    respond_to do |format|
      if @comprobante_pago.save
        flash[:notice] = 'ComprobantePago was successfully created.'
        format.html { redirect_to comprobantes_pago_url }
        format.xml  { head :created, :location => comprobante_pago_url(@comprobante_pago) }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @comprobante_pago.errors.to_xml }
      end
    end
  end

  # PUT /comprobantes_pago/1
  # PUT /comprobantes_pago/1.xml
  def update
    @comprobante_pago = ComprobantePago.find(params[:id])
    reserva = @comprobante_pago.reserva
    
    if reserva!=nil
    	proveedor = reserva.proveedor
    	@comprobante_pago.ruc = proveedor.ruc
    	@comprobante_pago.proveedor = (proveedor.razon_social!='' ? proveedor.razon_social : proveedor.nombre)
  	end

    respond_to do |format|
      if @comprobante_pago.update_attributes(params[:comprobante_pago]) && @comprobante_pago.save
        flash[:notice] = 'ComprobantePago was successfully updated.'
        format.html { redirect_to comprobantes_pago_url }
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @comprobante_pago.errors.to_xml }
      end
    end
  end

  # DELETE /comprobantes_pago/1
  # DELETE /comprobantes_pago/1.xml
  def destroy
    @comprobante_pago = ComprobantePago.find(params[:id])
    @comprobante_pago.destroy
		
    respond_to do |format|
      format.html { redirect_to comprobantes_pago_url }
      format.xml  { head :ok }
    end
  end
end
